<?php
/**
 * Created by PhpStorm.
 * User: hui
 * Date: 2016/9/10
 * Time: 10:48
 */
namespace Common\Model;

use Common\Model\CommonModel;

class OrderModel extends CommonModel
{
    protected $_validate = array(
        //array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)
        array('user_id', 'require', '用户名称不能为空！', 1, 'regex', CommonModel:: MODEL_INSERT),
        array('order_type', 'require', '订单类型不能为空！', 1, 'regex', CommonModel:: MODEL_INSERT),
        array('reci_mobile', 'require', '收件人电话不能为空！', 1, 'regex', CommonModel:: MODEL_INSERT),
        array('reci_address', 'require', '收件人地址不能为空！', 1, 'regex', CommonModel:: MODEL_INSERT),
        array('reci_latit', 'require', '收件人纬度不能为空！', 1, 'regex', CommonModel:: MODEL_INSERT),
        array('reci_longit', 'require', '收件人经度不能为空！', 1, 'regex', CommonModel:: MODEL_INSERT),
        array('pay_method', 'require', '支付方式不能为空！', 1, 'regex', CommonModel:: MODEL_INSERT),
        array('order_amount', 'require', '订单金额不能为空！', 1, 'regex', CommonModel:: MODEL_INSERT),
        array('res_type', 'require', '物品类型不能为空！', 1, 'regex', CommonModel:: MODEL_INSERT),
    );
    protected $_auto = array(
        array('order_time', 'orderDate', CommonModel:: MODEL_INSERT, 'callback'),
        array('order_number', 'createOrderId', CommonModel:: MODEL_INSERT, 'callback'),
    );

    function orderDate()
    {
        return date('Y-m-d H:i:s');
    }

    /**
     * 创建订单函数001
     */
    function createOrderId()
    {
        return "BN" . date('Ymdhis', time()) . rand(000000, 999999);
    }

    /**
     * 根据跑客ID获取今日完成的订单数量
     * @param int $dispatch_id 跑客订单ID
     */
    function get_dispatch_today_order_num($dispatch_id)
    {
        return $this->where(array('dispatch_id' => $dispatch_id, 'status'=>7,'order_time' => array('like', date('Y-m-d') . '%')))->count();
    }


}